package com.rkhd.application;


import com.rkhd.utils.Global;

import java.io.*;
import java.util.Enumeration;
import java.util.Properties;

/**
 * 公共  apiURL 获取的地方
 */
public class ApplicationContext {



    public static String TEST_URL = "NULL";

    public static String STRING_URL = "NULL";

    public static String getTest_URL() {

        return TEST_URL;
    }


    public  static String getStaging_URL() {
        readConfigProperties();
        return STRING_URL;
    }


    public static void readConfigProperties() {
        // InputStream asStream = ApplicationContext.class.getClassLoader().getResourceAsStream("conf/config.properties")

        /**
         * Java虚拟机（JVM）有自己的系统配置文件（system.properties） ; 仿写属于自己的配置文件
         */
        Properties pro = new Properties();
        try {
            String  configPath = Global.ProjectCurrentPath +"/src/";
            pro.load(new BufferedInputStream(new FileInputStream(configPath+"conf/config.properties")));

            Enumeration enum1 = pro.propertyNames();//得到配置文件的名字
            while (enum1.hasMoreElements()) {
                String strKey = (String) enum1.nextElement();
                if (strKey.equals("TEST_URL")) TEST_URL = pro.getProperty(strKey);
                if (strKey.equals("STRING_URL")) STRING_URL = pro.getProperty(strKey);

                //                String strValue = pro.getProperty(strKey);
//                System.out.println(strKey + "=" + strValue);
            }

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        /*    //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
            OutputStream out = new FileOutputStream("src/conf/config.properties");
            pro.setProperty("pKey", "pValue");
            //以适合使用 load 方法加载到 Properties 表中的格式，
            //将此 Properties 表中的属性列表（键和元素对）写入输出流
            pro.store(out, "Update " + "pKey" + " name");*/


        } catch (IOException e) {
            e.printStackTrace();
        }


/*

        InputStream asStream =ApplicationContext.class.getClass().getClassLoader().getSystemResourceAsStream("conf/config.properties");

        try {
            Properties properties = new Properties();
            properties.load(asStream);
            String TEST_URL = (String) properties.getProperty("TEST_URL");
            System.out.println(TEST_URL);

        } catch (IOException e) {
            e.printStackTrace();
        }
*/

    }


}
